package com.smile.model.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ToString
@TableName("feisuan_airport_info")
public class FeisuanAirportInfo implements Serializable {
    private static final Long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("organization_id")
    private Integer organizationId;

    /**
     * 机场名称
     */
    @TableField("airport_name")
    private String airportName;

    /**
     * 经度
     */
    @TableField("longitude")
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @TableField("latitude")
    private BigDecimal latitude;

    /**
     * 机场编号
     */
    @TableField("gateway_sn")
    private String gatewaySn;



    @TableField("gateway")
    private String gateway;



    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("modify_time")
    private LocalDateTime modifyTime;

    /**
     * 用户id
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 风速
     */
    @TableField("wind_speed")
    private BigDecimal windSpeed;

    /**
     * 降雨量
     */
    @TableField("rainfall")
    private BigDecimal rainfall;

    /**
     * home点有效性
     */
    @TableField("home_position_is_valid")
    private Integer homePositionIsValid;

    /**
     * 机场朝向角
     */
    @TableField("heading")
    private BigDecimal heading;

    /**
     * 网络RTK挂载点信息
     */
    @TableField("mount_point")
    private BigDecimal mountPoint;

    /**
     * 网络端口
     */
    @TableField("port")
    private String port;

    /**
     * 网络host
     */
    @TableField("host")
    private String host;

    /**
     * 设备类型	{"1":"机场"}
     */
    @TableField("rtcm_device_type")
    private Integer rtcmDeviceType;

    /**
     * 标定类型	{"0":"未标定","1":"自收敛标定","2":"手动标定","3":"网络RTK标定"}
     */
    @TableField("source_type")
    private Integer sourceType;

    /**
     * 加密编码 数组转字符串
     */
    @TableField("secret_code")
    private String secretCode;

    /**
     * 飞行器对频信息包含sdr_id和sn
     */
    @TableField("center_node")
    private String centerNode;


    /**
     * 机场或遥控器对频信息 包含多组信息 control_source_index ，sdr_id，valid，sn
     */
    @TableField("leaf_nodes")
    private String leafNodes;

    /**
     * 机场空调状态
     * {"0":"空闲模式(无制冷、制热、除湿等)","1":"制冷模式","2":"制热模式","3":"除湿模式","4":"制冷退出模式","5":"制热退出模式","6":"除湿退出模式","7":"制冷准备模式","8":"制热准备模式","9":"除湿准备模式"10":"风冷准备中"11":"风冷中"12":"风冷退出中"13":"除雾准备中"14":"除雾中"15":"除雾退出中"}
     */
    @TableField("air_conditioner_state")
    private Integer airConditionerState;


    /**
     * 空调剩余等待可切换时间
     */
    @TableField("switch_time")
    private Integer switchTime;

    /**
     * 空中回传	{"0":"关闭","1":"开启"}
     */
    @TableField("air_transfer_enable")
    private Integer airTransferEnable;

    /**
     * 机场静音模式"0":"非静音模式","1":"静音模式"}
     */
    @TableField("silent_mode")
    private Integer silentMode;

    /**
     * 用户体验改善计划{"0":"初始状态","1":"拒绝加入用户体验改善计划","2":"同意加入用户体验改善计划"}
     */
    @TableField("user_experience_improvement")
    private Integer userExperienceImprovement;

    /**
     * 保养状态	{"0":"无需保养","1":"待保养","2":"正在保养"}
     */
    @TableField("maintenance_state")
    private Integer maintenanceState;


    /**
     * 电池保养剩余时间
     */
    @TableField("maintenance_time_left")
    private Integer maintenanceTimeLeft;

    /**
     * 电池加热保温状态	{"0":"电池未开启加热或保温","1":"电池在加热中","2":"电池在保温中"}
     */
    @TableField("heat_state")
    private Integer heatState;

    /**
     * 电池详细信息array 包含 capacity_percent index voltage temperature
     */
    @TableField("batteries")
    private String batteries;


    /**
     * 搜星状态  包含多个数据结构
     */
    @TableField("position_state")
    private String positionState;

    /**
     * 紧急停止按钮状态{"0":"关闭","1":"开启"}
     */
    @TableField("emergency_stop_state")
    private Integer emergencyStopState;

    /**
     * 电量百分比
     */
    @TableField("capacity_percent")
    private Integer capacityPercent;


    /**
     * 充电状态	{"0":"空闲","1":"充电中"}
     */
    @TableField("state")
    private Integer state;

    /**
     * 机场备用电池信息包含 switch voltage temperature
     */
    @TableField("backup_battery")
    private String backupBattery;


    /**
     * 机场声光报警状态	{"0":"关闭","1":"开启"}
     */
    @TableField("alarm_state")
    private Integer alarmState;

    /**
     * 电池运行模式"1":"计划模式","2":"待命模式"}
     */
    @TableField("battery_store_mode")
    private Integer batteryStoreMode;

    /**
     * 机场激活时间(unix 时间戳)
     */
    @TableField("activation_time")
    private Integer activationTime;

    /**
     * 椭球高度
     */
    @TableField("height")
    private BigDecimal height;


    /**
     * 备降点 包含 longitude latitude safe_land_height is_configured height
     */
    @TableField("alternate_land_point")
    private String alternateLandPoint;


    /**
     * 固件一致性
     */
    @TableField("compatible_status")
    private Integer compatibleStatus;


    /**
     * 机场累计运行时长
     */
    @TableField("acc_time")
    private Integer accTime;

    /**
     * 首次上电时间
     */
    @TableField("first_power_on")
    private Integer firstPowerOn;

    /**
     * 存储容量	包含 total used
     */
    @TableField("storage")
    private String  storage;

    /**
     * 工作电流	毫安 / mA
     */
    @TableField("working_current")
    private BigDecimal  workingCurrent;


    /**
     * 工作电压	毫伏 / mV
     */
    @TableField("working_voltage")
    private Integer  workingVoltage;


    /**
     * 舱内湿度	 / %RH
     */
    @TableField("humidity")
    private BigDecimal  humidity;

    /**
     *   舱内温度	摄氏度 / °
     */
    @TableField("temperature")
    private BigDecimal  temperature;


    /**
     *   环境温度	摄氏度 / °
     */
    @TableField("environment_temperature")
    private BigDecimal  environmentTemperature;


    /**
     *   机场累计作业次数 °
     */
    @TableField("job_number")
    private Integer  jobNumber;


    /**
     *  飞行器是否在舱{"0":"舱外","1":"舱内"}
     */
    @TableField("drone_in_dock")
    private Integer  droneInDock;

    /**
     *  网络状态  type quality rate
     */
    @TableField("network_state")
    private String  networkState;


    /**
     *  补光灯状态{"0":"关闭","1":"打开"}
     */
    @TableField("supplement_light_state")
    private Integer  supplementLightState;


    /**
     *  子设备状态 device_sn device_model_key device_online_status device_paired
     */
    @TableField("sub_device")
    private String  subDevice;


    /**
     *  机场任务状态
     *  {"0":"作业准备中","1":"飞行作业中","2":"作业后状态恢复","3":"自定义飞行区更新中",
     *  "4":"地形障碍物更新中","5":"任务空闲","255":"飞行器异常","256":"未知状态"}
     */
    @TableField("flighttask_step_code")
    private Integer  flighttaskStepCode;

    /**
     *  机场状态
     */
    @TableField("mode_code")
    private Integer  modeCode;

    /**
     *  固件升级状态{"0":"未升级","1":"升级中"}
     */
    @TableField("firmware_upgrade_status")
    private Integer  firmwareUpgradeStatus;


    /**
     *  固件版本
     */
    @TableField("firmware_version")
    private String  firmwareVersion;

    /**
     *  图传链路
     */
    @TableField("wireless_link")
    private String  wirelessLink;

    /**
     * 删除状态
     */
    @TableField("delete_status")
    private Boolean deleteStatus;
}
